myBatis 常见问题(一)查询结果字段为null 您所在的位置:网站首页 mybatis 查询字段 myBatis 常见问题(一)查询结果字段为null

myBatis 常见问题(一)查询结果字段为null

2022-06-12 06:11| 来源: 网络整理| 查看: 265

问题描述:

查询认购单详情

SELECT c.real_name,c.phone,c.idcard_no FROM bm_subscription AS a JOIN ms_member AS c where 1=1 and a.subscription_id = #{subscriptionId,jdbcType=CHAR} and c.member_id = #{memberId,jdbcType=CHAR} /** * admin * 获取认购单详情 * @param vo * @return */ public String adminGetDatails(ProductSubscriptionVO vo){ if (StringUtils.isBlank(vo.getSubscriptionId())) { return buildFailResult(SystemStatusEnum.ILLEGAL_PARAMETER, "请传入认购单ID"); } if (StringUtils.isBlank(vo.getMemberId())) { return buildFailResult(SystemStatusEnum.ILLEGAL_PARAMETER, "请传入会员ID"); } SubscriptionPO po = dao.adminGetDatail(vo); if (po == null) { return buildFailResult(SystemStatusEnum.NO_DATA); } SubscriptionVO subscriptionVO = VoFactory.createByJson(SubscriptionVO.class, po); return buildSuccessResult(subscriptionVO, false); }

结果为:

从sql语句上看,明明我查了3个字段,姓名、电话、身份证号码。问题是少了身份证号码字段。为什么呢?

问题分析:

myBatis通过xml文件把查询的结果resultMap映射到type实体类中。

我们检查resultMap与type实体类,发现type实体类中有身份证号码字段,但resultMap没有身份证号码字段。造成查询结果无法映射给实体类,所以我们在最终的结果中看不到身份证号码字段。

问题解决:

在resultMap中增加身份证号码字段。

然后运行代码,发现问题已解决。


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有